﻿using System;

namespace SharpSqlAnalyzer.nodes.mysql
{
	// Token: 0x020003AD RID: 941
	public class TGroupConcatParam : TParseTreeNode
	{
		// Token: 0x17000875 RID: 2165
		// (get) Token: 0x0600267D RID: 9853 RVA: 0x0033A9E3 File Offset: 0x00338BE3
		// (set) Token: 0x0600267C RID: 9852 RVA: 0x0033A9DA File Offset: 0x00338BDA
		public virtual bool Distinct
		{
			get
			{
				return this.isDistinct;
			}
			set
			{
				this.isDistinct = value;
			}
		}

		// Token: 0x17000876 RID: 2166
		// (get) Token: 0x0600267F RID: 9855 RVA: 0x0033A9F4 File Offset: 0x00338BF4
		// (set) Token: 0x0600267E RID: 9854 RVA: 0x0033A9EB File Offset: 0x00338BEB
		public virtual string SeparatorStr
		{
			get
			{
				return this.separatorStr;
			}
			set
			{
				this.separatorStr = value;
			}
		}

		// Token: 0x17000877 RID: 2167
		// (get) Token: 0x06002681 RID: 9857 RVA: 0x0033AA05 File Offset: 0x00338C05
		// (set) Token: 0x06002680 RID: 9856 RVA: 0x0033A9FC File Offset: 0x00338BFC
		public virtual TSourceToken SeparatorToken
		{
			get
			{
				return this.separatorToken;
			}
			set
			{
				this.separatorToken = value;
			}
		}

		// Token: 0x17000878 RID: 2168
		// (get) Token: 0x06002683 RID: 9859 RVA: 0x0033AA16 File Offset: 0x00338C16
		// (set) Token: 0x06002682 RID: 9858 RVA: 0x0033AA0D File Offset: 0x00338C0D
		public virtual TOrderBy OrderBy
		{
			get
			{
				return this.orderBy;
			}
			set
			{
				this.orderBy = value;
			}
		}

		// Token: 0x06002684 RID: 9860 RVA: 0x0033AA1E File Offset: 0x00338C1E
		public override void init(object arg1)
		{
			this.exprList = (TExpressionList)arg1;
		}

		// Token: 0x17000879 RID: 2169
		// (get) Token: 0x06002686 RID: 9862 RVA: 0x0033AA35 File Offset: 0x00338C35
		// (set) Token: 0x06002685 RID: 9861 RVA: 0x0033AA2C File Offset: 0x00338C2C
		public virtual TExpressionList ExprList
		{
			get
			{
				return this.exprList;
			}
			set
			{
				this.exprList = value;
			}
		}

		// Token: 0x06002687 RID: 9863 RVA: 0x0033AA3D File Offset: 0x00338C3D
		public override void doParse(TCustomSqlStatement psql, ESqlClause plocation)
		{
			this.exprList.doParse(psql, plocation);
			if (this.orderBy != null)
			{
				this.orderBy.doParse(psql, plocation);
			}
		}

		// Token: 0x06002688 RID: 9864 RVA: 0x0033AA61 File Offset: 0x00338C61
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06002689 RID: 9865 RVA: 0x0033AA71 File Offset: 0x00338C71
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001D2E RID: 7470
		private TExpressionList exprList;

		// Token: 0x04001D2F RID: 7471
		private TOrderBy orderBy;

		// Token: 0x04001D30 RID: 7472
		private bool isDistinct;

		// Token: 0x04001D31 RID: 7473
		private TSourceToken separatorToken;

		// Token: 0x04001D32 RID: 7474
		private string separatorStr;
	}
}
